package com.baizhi.innerclassx;

/**
 * 一个外部类
 */
public class Outer1 {
     //成员变量
    private int x = 4;

    static int a = 6;

    public static void k(){}

    //成员方法
    public void m(){


        //在成员方法内部定义的类就叫做方法内部类/局部内部类
        //方法内部类可以使用外部类的成员属性和成员方法，和静态属性,静态方法
        //方法内部类可以使用内部类的属性和方法
        //方法内部类可以声明成员变量，成员方法，
        //方法内部类可以声明静态常量，但是不能声明静态变量和静态方法
        //方法内部类可以正常继承其他类，可以实现接口
        //方法内部类可以被final   abstract修饰
        class Inner1 implements Cloneable{

            //局部内部类的成员变量
            int y = 5;

            public static final int o = 9;

            public void m2(){}

           // public static final II = 9;

//            public static void m3(){
//
//            }

            //局部内部类的成员方法
            public void m1(){
                System.out.println(x);
                System.out.println(y);
                System.out.println(a);
                m();
            }
        }

        Inner1 i1 = new Inner1(); //创建内部类对象
        i1.m1();
        //i1.k(); //
    }
}
